home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / hardware / cpu115 / history.doc < prev    next >
Text File  |  1995-02-27  |  7KB  |  157 lines

  1.  ... HISTORY.DOC .......................... TMi0SDGL(tm) Companion Document ...
  2.  Document no.: N-0014.94.95M01.07
  3.  
  4.                   TMi0SDGL(tm) Version 1.15  - HISTORY.DOC
  5.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6.  
  7.  History of changes.
  8.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  9.  TMi0SDGL(tm) version 1.10d was the first version publicly released.
  10.  
  11.  Differences between version 1.10d and version 1.11:
  12.  
  13.  - changed 80287XL determination logic: now this conclusion is made if CPU
  14.    is 80286 and FPU tests as 80387;
  15.  - added IIT (Integrated Information Technology, Inc.) xC87 math coprocessors
  16.    detection;
  17.  - fixed bug in 386 stepping detection routine.
  18.  
  19.  Differences between versions 1.11 and 1.11b:
  20.  
  21.  - fixed bug that caused FPU_Type routine to hang on 486s: they don't handle
  22.    IIT bank switching instructions at all, stopping CPU.
  23.  
  24.  Differences between versions 1.11b and 1.12:
  25.  
  26.  - distinguish between Cyrix 486SLC and 486DLC made reliable;
  27.  - code distinguishing between 386sx and 386dx that used bug in dx chips 
  28.     deleted (it was commented out in previous versions) - current method is
  29.     absolutely reliable;
  30.  - code slightly optimized to reduce size.
  31.  
  32.  Differences between versions 1.12 and 1.12b:
  33.  
  34.  - some slight modifications made to CPUSPEED.ASM module to prevent invalid
  35.    computation of clock frequency for unknown CPUs.
  36.  
  37.  Differences between versions 1.12b and 1.13:
  38.  
  39.  - added 386sl detection routine, but wasn't checked yet: at least it doesn't
  40.    hang the PC :); 
  41.  - distinguishing between i486sx and i486dx finally made reliable;
  42.  - code slightly optimized;
  43.  - CPUSPEED.ASM enhanced and recommented to reflect new CPU type addition.
  44.  
  45.  Differences between versions 1.13 and 1.14:
  46.  
  47.  - reduced source file size of CPUSPEED.ASM;
  48.  - Test_Buffer routine made reentrant ( at last! :);
  49.  - added newer 386 and 486 recognition ( ID flag of EFLAGS is flippable and
  50.    CPUID instruction works on new 386s and 486s so I took precaution of
  51.    this situation);
  52.  - described method of identifying AMD's 40MHz 386s and a little bit tricky
  53.    method of identifying i486DX2/66 chips;
  54.  - added method of identifying Cyrix M1 (586) chip - was not checked yet;
  55.  - 386SL detection code commented out, but still present - maybe it works on
  56.    some chipsets...
  57.  
  58.  Differences between versions 1.14 and 1.14b:
  59.  
  60.  - added hi-level interfaces and sample programs,
  61.    Turbo Pascal 7.0, Turbo C 2.0 and Borland C++ 3.1 were used to compile these
  62.    examples, they appeared to work o.k.;
  63.  - added i487sx detection;
  64.  - corrected Cyrix chips id's - there are also SX and DX chips;
  65.  - added Known Incompatibilities list;
  66.  - wow! this thingie's gettin' really BIG, ain't it..?
  67.  
  68.  Differences between versions 1.14b and 1.14c:
  69.  
  70.  Lots o'bugs fixed in this version:
  71.  
  72.  - fixed bug in hi-level routines that caused Intel 386/33 chips to be
  73.    identified as AMD ones;
  74.  - finally got rid of DOS session crashes under Windoze in assembly-language
  75.    version on 386dx-based systems; also, the code made Windoze-aware in
  76.    time-critical sections so it won't bother me (and you) anymore;
  77.  - added makeX.bat batches to simplify compile process. Of course paths and
  78.    parameters should be adjusted in 'em;
  79.  - finally fixed code for new 386+ chips which handles CPUID instruction -
  80.    this command appeared to destroy some registers I used to hold temp data.
  81.    Too bad I haven't Pentium data sheet :( - this bug could never appear...
  82.  - added new module P5INFO.ASM and two sample programs in Pascal and C demon-
  83.    strating it's usage - Pentium (and predecessors with cpuid enabled) feature
  84.    info lister. This is rough approach - when I have a P5 data sheet I'll add
  85.    more info;
  86.  - fixed OS/2 DOS Session crash problem on 486 systems - that ugly OS doesn't
  87.    allow to flip NE bit of CR0 hanging up the PC;
  88.  - this thing became really BIG now - 36K in ZIP. I think it's time to stop.
  89.    But I'll still develop it if you, users, will tell me I should.
  90.  
  91.  Differences between versions 1.14c and 1.14d:
  92.  
  93.  - I took some time and finally adjusted CPU timings so that CPUSpeed routine
  94.    produce more precise results but it still may give inadequate values on
  95.    certain CPUs from different vendors - there's so many of them;
  96.  - fixed obvious bug in P5Info - Make string is returned by CPU itself in
  97.    EBX,EDX,ECX registers, so I fixed it;
  98.  - made an approach to recognize UMC's U5 chips in hi-level routines;
  99.  - slightly modified hi-level interfaces to adapt them to new approach;
  100.  - optimized OS/2 detection routine;
  101.  - added Note 7 in dox - PLEASE READ IT BEFORE SENDING ME BUG-REPORTS!;
  102.  - stripped comments from CPU_HL.ASM - this is just a port from CPU_TYPE.ASH
  103.    which contain 'em all;
  104.  - added integer-only CPU speed calculation routines (got rid of fp), although
  105.    you'll lose precision using them;
  106.  - added DESQview calls Begin/End critical section in CPUSPEED.ASM;
  107.  - tested under Quarterdeck DESQview 2.63 - caused no probs on my Am386DX-40
  108.    system, MHz computed correctly.
  109.  
  110.  Differences between versions 1.14d and 1.14e:
  111.  
  112.  - Fixed an obnoxious bug in CPU_HL.ASM that caused P5 misidentification;
  113.  - fixed reporting Cyrix chips - only SLC is now distinguished from other
  114.    Cyrix's 486s;
  115.  - again fixed P5Info report - feature flags were shifted somehow;
  116.  - Note 7 moved to separate file README.1ST, and you SHOULD READ IT.
  117.  
  118.  Differences between versions 1.14e and 1.14f:
  119.  
  120.  - SMM test added, batches adjusted to reflect this addition;
  121.  - added one more P5 feature flag description to P5Info programs.
  122.  
  123.  Differences between versions 1.14f and 1.14g:
  124.  
  125.  - rewritten OS/2 detection routine, several bugs under OS/2 evaporated;
  126.  - added 486 SX/DX/DX2/DX4/SX2/SL/Overdrive distinguishing for newer CPU models
  127.    with CPUID support (thnx 2 Janis Smits once again for model codes), but
  128.    this new code is not tested yet!!! It shouldn't cause any trouble but it may
  129.    misidentify some 486s...
  130.  - some other bugs are being chased right now :-E~ ...
  131.  
  132.  Differences between versions 1.14g and 1.14h:
  133.  Damn it! Previous version was full of bugs :(
  134.  
  135.  - finally made the code able to run in protected mode. Now you can really
  136.    uncomment those commands in makep.bat that create protected mode .exe;
  137.  - found that old 486SX/DX detection method doesn't work under Borland's DPMI
  138.    host. I gotta find other way to determine this...
  139.  - fixed bug that prevented new 486SX/DX/DX2/etc. detection code from
  140.    execution, also avoided FPU checking for new CPUs with FPUonChip flag set;
  141.  - calling convention changed to pascal everywhere (though there should not
  142.    be any probs in upgrading your C/C++ applications for the rest of library
  143.    was not changed);
  144.  - added MAKEFILE for those who prefer using MAKE to build projects;
  145.  - some other minor fixes made.
  146.  
  147.  Differences between versions 1.14h and 1.15:
  148.  
  149.  - added new code detecting 386 and 486 model without using CPUID instruction
  150.    and sample program demonstrating its usage;
  151.  - makefile updated to reflect this addition;
  152.  - added FPU emulator detection;
  153.  - added P24D detection code;
  154.  - Cyrix misidentification under Windows fixed;
  155.  - C code rearranged for compatibility with Microsoft C[++].
  156.  
  157.                           << end of HISTORY.DOC >>